package com.niiwoo.activity.stage.service.investRank;

import java.util.List;

import com.niiwoo.activity.stage.dto.request.investrank.InvestFullQuotaReqDTO;
import com.niiwoo.activity.stage.dto.request.investrank.InvestFullQuotasReqDTO;
import com.niiwoo.activity.stage.dto.request.investrank.InvestProfitReqDTO;
import com.niiwoo.activity.stage.dto.request.investrank.InvestProfitsReqDTO;
import com.niiwoo.activity.stage.dto.request.investrank.InvestTopNoReqDTO;
import com.niiwoo.activity.stage.dto.request.investrank.InvestTopNosReqDTO;
import com.niiwoo.activity.stage.dto.response.investRank.InvestConfigRespDTO;

public interface InvestConfigDubboService {

	/**
	 * 查询投资配置列表
	 * @param period
	 * @return
	 */
	InvestConfigRespDTO list(Integer period);

	/**
	 * 新增修改预期收益送红包配置
	 * @param reqDto
	 */
	void addInvestProfit(InvestProfitsReqDTO reqDto,Long managerId,String managerName);

	/**
	 * 查询预期收益送红包配置在数据库的数量
	 * @param period
	 * @return
	 */
	int getInvestProfitCount(Integer period);

	/**
	 * 删除预期收益送红包配置
	 * @param id
	 */
	void delInvestProfit(List<Long> id);

	/**
	 * 查询TOP20现金奖励配置在数据库的数量
	 * @param period
	 * @return
	 */
	int getInvestTopNoCount(Integer period);

	/**
	 * 新增修改TOP20现金奖励配置
	 * @param reqDtos
	 * @param currentUserId
	 * @param currentUserRealName
	 */
	void addInvestTopNo(InvestTopNosReqDTO reqDtos, Long currentUserId,String currentUserRealName);

	/**
	 * 删除TOP20现金奖励配置
	 * @param id
	 */
	void delInvestTopNo(List<Long> id);

	/**
	 * 查询投资满额奖励配置在数据库的数量
	 * @param period
	 * @return
	 */
	int getInvestFullQuotaCount(Integer period);

	/**
	 * 新增修改投资满额奖励配置
	 * @param reqDtos
	 * @param managerId
	 * @param managerName
	 */
	void addInvestFullQuota(InvestFullQuotasReqDTO reqDtos,Long managerId, String managerName);

	/**
	 * 删除投资满额奖励配置
	 * @param id
	 */
	void delInvestFullQuota(List<Long> id);

	/**
	 * 复制上个月的达人榜配置
	 * @param managerId
	 * @param managerName
	 */
	void copyLastMonthConfig(Integer period,Long managerId, String managerName);

}
